The Internet comprises a vast number of computers and computer networks that are interconnected through communication links. The interconnected computers exchange information using various services, such as electronic mail, Gopher, and the World Wide Web (“WWW” or “the Web”). The Web allows a server computer system (i.e., Web server or Web site) to send so-called Web pages of information to a remote client computer system. The remote client computer system can then display the Web pages. Each resource (e.g., computer or Web page) of the Web is uniquely identifiable by a Uniform Resource Locator (“URL”). To view a specific Web page, a client computer system specifies the URL for that Web page in a request (e.g., a HyperText Transfer Protocol (“HTTP”) request). The request is forwarded to the Web server that supports that Web page. When that Web server receives the request, it sends that Web page to the client computer system. When the client computer system receives that Web page, it typically displays the Web page using a Web browser. A Web browser is a special-purpose application program that effects the requesting of Web pages and the displaying of Web pages.
Web pages are typically defined using the HyperText Markup Language (“HTML”). HTML provides a standard set of tags that define how a Web page is to be displayed. When a user indicates to a Web browser to display a Web page, the Web browser sends a request to the server computer system to transfer to the client computer system an HTML document that defines the Web page. When the requested HTML document is received by the client computer system, the Web browser displays the Web page as defined by the HTML document.
A Web page typically comprises one or more display items, such as text, graphics, animations, videos, applets, controls, pictures, logos, photographs, images, and the like. A given Web page can comprise a single, static file containing all of the display items and the structural encoding for displaying them (e.g., HTML code), or alternatively, a given Web page can be generated dynamically from a definition file or data structure that identifies the display items and the structural encoding necessary to assemble the Web page for sending to a requesting client browser. A location on a Web page at which a display item is displayed may be referred to as a display slot.
A Web site that is required to display on a Web page a selected number of display items received from multiple sources, often must attempt to fairly allocate the available display space among the various sources so as not to favor display items from any one source. For example, a Web site that provides online merchandising of products for sale (product offers) from a variety of merchants will often build Web pages that display a selected number of product offers from multiple merchants in a given product category. For example, a page may require the display of only offers for flowers on a “flower offers” page. The Web page may be updated periodically to display a new mix of offers from those merchants. Typically, the number of display slots on the Web page will be limited, and the number of product offers from each merchant in that product category may be much greater than the number of available display slots on the page. Additionally, some merchants may have a much greater number of product offerings in a given product category than other merchants, and some less. A process that merely randomly selects offers from the pool of all merchant offers until the display slots on a page are filled will result in unfair treatment of smaller merchants, as the likelihood of a given merchant's offers being selected for display will be greater for those merchants that have the most product offerings in the product category. Accordingly, there is a need for methods for balancing the allocation of available display slots on a page among a plurality of different sources of display items. The present invention satisfies this need.